import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JdbcUpdateDemo {

    public static void main(String[] args) throws SQLException {
        // 使用 jdbc 修改数据表中的一条记录

        // 1.创建数据源，描述了数据库服务器在哪
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");//用户
        ((MysqlDataSource)dataSource).setPassword("000000");//密码

        // 2.和数据库建立网络连接（写的 jdbc 代码本质上是一个 MySQL 客户端，要通过网络和服务器进行通信）
        Connection connection = dataSource.getConnection();

        // 3.构造一个 sql 语句来完成修改操作
        //先描述 sql 语句
        String sqlUpdate = "update student set id = 3 where name = '小王'";
        // 然后构造 sql
        PreparedStatement preparedStatement = connection.prepareStatement(sqlUpdate);

        // 4.执行 sql 语句（控制服务器给客户端发送请求）
        int retUpdate = preparedStatement.executeUpdate();// 增删改用 executeUpdate
        System.out.println("retUpdate:" + retUpdate); //输出几行数据收到了影响

        // 5.断开与数据库的连接，并且释放必要的资源
        preparedStatement.close();
        connection.close();

    }
}
